package tum0r.webengine.defaults.command

import tum0r.webengine.annotations.Command
import tum0r.webengine.config.SessionConfig
import tum0r.webengine.extension.check
import tum0r.webengine.extension.errorLog
import tum0r.webengine.extension.infoLog

/**
 * 说明: Session配置命令
 *
 * 创建者: tum0r
 *
 * 时间: 2021/8/24 14:17
 */
@Command
class SessionCommand {
    /**
     * 设置服务器返回的Session名
     *
     * @param[name] Session名
     */
    fun setSessionName(name: String) {
        if (!name.check("Session名")) return
        SessionConfig.SESSION_NAME = name
        "Session名设置为${name}".infoLog()
    }

    /**
     * 设置服务器返回的Session名前缀
     *
     * @param[prefix] Session名前缀
     */
    fun setSessionPrefix(prefix: String) {
        if (!prefix.check("Session名前缀")) return
        SessionConfig.SESSION_NAME = prefix
        "Session名前缀设置为${prefix}".infoLog()
    }

    /**
     * 设置Session超时时间
     *
     * @param[timeout] 超时时间（单位：毫秒），为0则不超时
     */
    fun setSessionTimeout(timeout: Int) {
        if (timeout >= 0) {
            SessionConfig.SESSION_TIMEOUT = timeout
            if (timeout != 0) "Session超时时间设置为${timeout}毫秒".infoLog()
            else "Session超时时间设置为不超时".infoLog()
        } else
            "Session超时时间不能小于0".errorLog()
    }
}